package com.ruoyi.association.mapper;


import com.ruoyi.association.domain.CustomerCollectDynamic;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 客户与动态关联表 数据层
 * 
 * @author ruoyi
 */
public interface CustomerCollectDynamicMapper
{
    /**
     * 根据条件分页查询关联列表
     *
     * @param customerCollectDynamic
     * @return
     */
    public List<CustomerCollectDynamic> selectCustomerCollectDynamicList(CustomerCollectDynamic customerCollectDynamic);

    /**
     * 通过动态ID查询动态关联数量
     *
     * @param dynamicId 动态ID
     * @return 结果
     */
    public int countCustomerDynamicByDynamicId(Long dynamicId);

    /**
     * 通过客户ID查询动态关联数量
     *
     * @param customerId 客户ID
     * @return 结果
     */
    public int countCustomerDynamicByCustomerId(Long customerId);

    /**
     * 通过客户ID和动态ID查询动态关联数量
     *
     * @param customerId 客户ID
     * @return 结果
     */
    public int countCustomerDynamicById(@Param("customerId") Long customerId, @Param("dynamicId") Long dynamicId);

    /**
     * 通过客户ID删除客户和动态关联
     * 
     * @param customerId 客户ID
     * @return 结果
     */
    public int deleteCustomerDynamicById(@Param("customerId") Long customerId, @Param("dynamicId") Long dynamicId);

    /**
     * 通过客户ID删除客户和动态关联
     *
     * @param dynamicId 动态ID
     * @return 结果
     */
    public int deleteCustomerDynamicByDynamicId(Long dynamicId);

    /**
     * 批量删除客户和动态关联
     * 
     * @param customerIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteCustomerDynamic(Long[] customerIds);

    /**
     * 批量新增客户动态信息
     * 
     * @param list 客户动态列表
     * @return 结果
     */
    public int batchCustomerDynamic(List<CustomerCollectDynamic> list);
}
